package com.syg.boot.core.common;

/**
 * @author syg
 * @date 2021年11月25日16:53:58
 * @version 1.0
 */

public enum EnvNameEnum {
    // local
    local,
    // dev
    dev,
    // sit
    sit,
    // uat
    uat,
    // prod
    prod,
    ;

    private static final String ILLEGAL_ENV_NAME = "非法的环境名称：";

    private EnvNameEnum() {
    }

    /**
     * 校验环境名称
     * @param env
     */
    public static void check(String env) {
        EnvNameEnum[] arr = values();
        for (EnvNameEnum envName : arr) {
            if (envName.name().equals(env)) {
                return;
            }
        }

        throw new IllegalArgumentException(ILLEGAL_ENV_NAME + env);
    }

    /**
     * 获取激活的环境
     * @param envs
     * @return
     */
    public static String getProfile(String[] envs) {
        if (envs == null) {
            return null;
        }

        EnvNameEnum[] envArr = values();
        for (EnvNameEnum nameEnum : envArr) {
            for (String env : envs) {
                if (nameEnum.name().equals(env)) {
                    return env;
                }
            }
        }
        return null;
    }

}
